//好数对的数目
/*给你一个整数数组 nums 。

如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ，就可以认为这是一组 好数对 。

返回好数对的数目。
1 <= nums.length <= 100
1 <= nums[i] <= 100
*/
int numIdenticalPairs(int* nums, int numsSize) {
    int* arr = (int*)calloc(101, sizeof(int));
    int add = 0;
    for (int i = 0; i < numsSize; i++) {
        arr[nums[i]]++;
        add+=arr[nums[i]]-1;
    }
    return add;
}


//在长度 2N 的数组中找出重复 N 次的元素
/*给你一个整数数组 nums ，该数组具有以下属性：

nums.length == 2 * n.
nums 包含 n + 1 个 不同的 元素
nums 中恰有一个元素重复 n 次
找出并返回重复了 n 次的那个元素。
2 <= n <= 5000
nums.length == 2 * n
0 <= nums[i] <= 104
nums 由 n + 1 个 不同的 元素组成，且其中一个元素恰好重复 n 次*/
int repeatedNTimes(int* nums, int numsSize) {
    for (int i = 0; i < numsSize - 1; i++) {
        if (nums[i] == nums[i + 1] ||
            (i + 2 < numsSize && nums[i] == nums[i + 2])) {
            return nums[i];
        }
    }
    return nums[numsSize - 1];
}